/*******************************************************************************
 * Copyright (c) 2013 Folke Will <folke.will@gmail.com>
 *
 * This file is part of JPhex.
 *
 * JPhex is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * JPhex is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 ******************************************************************************/
package org.solhost.folko.uosl.network.packets;

import java.nio.ByteBuffer;

import org.solhost.folko.uosl.network.SendableMobile;

public class GroupPacket extends SLPacket {
    public static final short ID = 0x6E;
    private long leaderSerial, addedSerial;

    private GroupPacket() {

    }

    // sending, set leader to null to destroy group
    public GroupPacket(SendableMobile leader, SendableMobile member) {
        initWrite(ID, 0x0C);
        if(leader != null) {
            addUDWord(leader.getSerial());
        } else {
            addUDWord(0);
        }
        addUDWord(member.getSerial());
    }

    // receiving
    public static GroupPacket read(ByteBuffer b, int len) {
        GroupPacket res = new GroupPacket();
        res.leaderSerial = readUDWord(b);
        res.addedSerial = readUDWord(b);
        return res;
    }

    @Override
    public short getID() {
        return ID;
    }

    public long getLeaderSerial() {
        return leaderSerial;
    }

    public long getAddedSerial() {
        return addedSerial;
    }
}
